//
// Description: 883. 高斯消元解线性方程组
// Created by Loading on 2022/5/30.
//

#include <bits/stdc++.h>

using namespace std;

constexpr int N = 110;
// 浮点数精度
constexpr double eps = 1e-6;

double a[N][N];
int n;

// 高斯消元，0 表示唯一解，1 表示无穷多解，2 表示无解
int gauss() {
    // 当前行列
    int r, c;
    for (r = 0, c = 0; c < n; ++c) {
        int t = r;
        // 寻找第 c 列绝对值最大的数
        for (int i = r + 1; i < n; ++i) {
            if (fabs(a[i][c]) > fabs(a[t][c])) {
                t = i;
            }
        }
        // 如果选中的 t 行 c 列数已经是 0，则无解或无穷多解，当前不再操作
        if (fabs(a[t][c]) < eps) {
            continue;
        }
        // 将选中的行换到第 r 行
        for (int i = c; i < n + 1; ++i) {
            swap(a[r][i], a[t][i]);
        }
        // 将第 r 行第 c 列的数变为 1，注意要逆序遍历
        for (int i = n; i >= c; --i) {
            a[r][i] /= a[r][c];
        }
        // 将从 r + 1 行开始到第 n 行，第 c 列的数变成 0
        for (int i = r + 1; i < n; ++i) {
            if (fabs(a[i][c]) > eps) {
                // 注意要逆序遍历
                for (int j = n; j >= c; --j) {
                    a[i][j] -= a[i][c] * a[r][j];
                }
            }
        }

        ++r;
    }

    // 无解或无穷多解
    if (r < n) {
        for (int i = r; i < n; ++i) {
            // 出现 0 = 非0 情况，无解
            if (fabs(a[i][n]) > eps) {
                return 2;
            }
        }

        // 无穷多解
        return 1;
    }

    // 唯一解
    // 逆序推出每个未知数的值
    for (int i = n - 2; i >= 0; --i) {
        for (int j = i + 1; j < n; ++j) {
            a[i][n] -= a[i][j] * a[j][n];
        }
    }

    return 0;
}

int main() {
    cin >> n;
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < n + 1; ++j) {
            cin >> a[i][j];
        }
    }

    int res = gauss();

    if (res == 0) {
        for (int i = 0; i < n; ++i) {
            // 防止出现 -0.00
            if (fabs(a[i][n]) < eps) {
                a[i][n] = 0;
            }
            printf("%.2f\n", a[i][n]);
        }
    } else if (res == 1) {
        cout << "Infinite group solutions" << endl;
    } else {
        cout << "No solution" << endl;
    }

    return 0;
}